ASP.Net অ্যাপ্লিকেশনের জন্য ইউনিট টেস্টিং খুবই গুরুত্বপূর্ণ, কারণ এটি কোডের কার্যকারিতা নিশ্চিত করে এবং রিগ্রেশন সমস্যা থেকে রক্ষা করে। ASP.Net এ ইউনিট টেস্ট করার জন্য বিভিন্ন টেস্ট ফ্রেমওয়ার্ক রয়েছে, যার মধ্যে জনপ্রিয় তিনটি হলো Xunit, NUnit, এবং MSTest। এই টেস্ট ফ্রেমওয়ার্কগুলো দিয়ে আপনি অ্যাপ্লিকেশনটির বিভিন্ন অংশ পরীক্ষা করতে পারেন, যেমন কন্ট্রোলার, মডেল, এবং সার্ভিস লেয়ার। নিচে এই তিনটি ফ্রেমওয়ার্কের ব্যবহার এবং তাদের মধ্যে পার্থক্যগুলো আলোচনা করা হবে।
Xunit একটি জনপ্রিয়, ওপেন সোর্স টেস্ট ফ্রেমওয়ার্ক যা .NET অ্যাপ্লিকেশনে ইউনিট টেস্টিং করার জন্য ব্যবহৃত হয়। এটি বিশেষভাবে পারallel টেস্টিং এবং অন্যান্য আধুনিক ফিচারের জন্য জনপ্রিয়।
Xunit ইনস্টলেশন:
প্রথমে, Xunit ইনস্টল করতে হবে। Visual Studio বা .NET CLI এর মাধ্যমে এটি ইনস্টল করা যায়। NuGet Package এর মাধ্যমে:
dotnet add package xunit
dotnet add package xunit.runner.visualstudio
টেস্ট ক্লাস এবং মেথড তৈরি করা:
Xunit টেস্ট ক্লাসে টেস্ট মেথড তৈরি করতে হলে [Fact] অ্যাট্রিবিউট ব্যবহার করতে হবে।
using Xunit;
public class MathTests
{
[Fact]
public void Add_TwoNumbers_ReturnsCorrectSum()
{
var result = 1 + 2;
Assert.Equal(3, result);
}
}
টেস্ট চালানো:
Visual Studio বা .NET CLI দিয়ে টেস্ট চালানো যায়:
dotnet test
NUnit হল একটি আরও পুরোনো এবং শক্তিশালী টেস্ট ফ্রেমওয়ার্ক যা .NET অ্যাপ্লিকেশনগুলোতে ব্যাপকভাবে ব্যবহৃত হয়। এটি XUnit এর মতোই, তবে কিছু অতিরিক্ত ফিচার এবং কনভেনশন প্রদান করে।
NUnit ইনস্টলেশন:
NUnit ইনস্টল করতে, NuGet প্যাকেজ ব্যবহৃত হয়। Visual Studio বা .NET CLI দিয়ে এটি ইনস্টল করা যায়:
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
dotnet add package Microsoft.NET.Test.Sdk
টেস্ট ক্লাস এবং মেথড তৈরি করা:
NUnit এ টেস্ট মেথড তৈরি করার জন্য [Test] অ্যাট্রিবিউট ব্যবহার করতে হয়।
using NUnit.Framework;
public class MathTests
{
[Test]
public void Add_TwoNumbers_ReturnsCorrectSum()
{
var result = 1 + 2;
Assert.AreEqual(3, result);
}
}
টেস্ট চালানো:
NUnit টেস্ট চালানোর জন্য, Test Explorer বা dotnet test ব্যবহার করা যেতে পারে:
dotnet test
MSTest হল Microsoft দ্বারা ডেভেলপ করা একটি টেস্ট ফ্রেমওয়ার্ক যা .NET ফ্রেমওয়ার্ক এবং .NET Core এর জন্য ব্যবহৃত হয়। এটি Microsoft এর নিজস্ব টেস্ট ফ্রেমওয়ার্ক এবং Visual Studio এর সাথে পূর্ণাঙ্গ সমর্থিত।
MSTest ইনস্টলেশন:
MSTest ইনস্টল করতে NuGet প্যাকেজ ব্যবহৃত হয়:
dotnet add package MSTest.TestFramework
dotnet add package MSTest.TestAdapter
টেস্ট ক্লাস এবং মেথড তৈরি করা:
MSTest এ টেস্ট মেথড তৈরি করার জন্য [TestMethod] অ্যাট্রিবিউট ব্যবহার করতে হয়।
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class MathTests
{
[TestMethod]
public void Add_TwoNumbers_ReturnsCorrectSum()
{
var result = 1 + 2;
Assert.AreEqual(3, result);
}
}
টেস্ট চালানো:
MSTest টেস্ট চালানোর জন্য, Test Explorer বা dotnet test ব্যবহার করা যেতে পারে:
dotnet test
ফিচার | Xunit | NUnit | MSTest |
---|---|---|---|
লাইটওয়েট | হ্যাঁ, সবচেয়ে লাইটওয়েট | মধ্যম | তুলনামূলক ভারী |
এট্রিবিউট | [Fact] এবং [Theory] | [Test] | [TestMethod] |
প্যারালেল টেস্টিং | সমর্থিত | সমর্থিত | সমর্থিত |
তিনটি অ্যাট্রিবিউট | [Fact] , [Theory] , [Class] | [Test] , [SetUp] , [TearDown] | [TestMethod] , [ClassInitialize] |
বিল্ট-ইন সমর্থন | Visual Studio, Rider, CLI | Visual Studio, Rider, CLI | Visual Studio |
ডাটাপ্যারামিটারাইজেশন | [Theory] | [TestCase] | [DataRow] |
Xunit, NUnit, এবং MSTest সবই শক্তিশালী এবং জনপ্রিয় টেস্ট ফ্রেমওয়ার্ক, যেগুলো আপনাকে ASP.Net অ্যাপ্লিকেশনগুলোর ইউনিট টেস্টিং সহজে করতে সাহায্য করে। তবে, আপনার প্রজেক্টের প্রয়োজন অনুযায়ী, আপনি যে কোন ফ্রেমওয়ার্ক বেছে নিতে পারেন।
Read more